$(function () {
  const layer = layui.layer
  const form = layui.form
  // 获取文章分类的列表
  initArtCateList()
  function initArtCateList() {
    $.ajax({
      method: 'GET',
      url: '/my/article/cates',
      success: function (res) {
        if (res.status !== 0) {
          return '获取列表失败'
        }
        // 获取列表成功之后, 调用template()
        let htmlStr = template('tpl-table', res)
        $('tbody').html(htmlStr)
      }
    })
  }

  // 点击添加类别 , 打开添加的弹出层
  var indexAdd = null
  $('#addCate').on('click', function () {
    indexAdd = layer.open({
      // type指定当前弹窗的类型,
      type: 1,
      title: '添加文章分类',
      area: ['500px', '250px'],
      content: $('#dialog-add').html()
    });
  })

  // 通过事件委托, 把submit事件委托给body;
  $('body').on('submit', '#formAdd', function (e) {
    e.preventDefault()
    $.ajax({
      method: 'POST',
      url: '/my/article/addcates',
      data: $('#formAdd').serialize(),
      success: function (res) {
        if (res.status !== 0) {
          return layer.msg('新增文章分类失败!')
        }
        // 重新获取更新之后的文章分类
        initArtCateList()
        // 关闭弹窗之前, 给一个提示信息 msg
        layer.msg('新增文章分类成功!')
        // 关闭弹窗,根据定义好的 indexAdd 索引, 通过close方法
        layer.close(indexAdd)
      }
    })
  })
  // 编辑类别
  let indexEdit = null
  $('tbody').on('click', '.btn-edit', function (e) {
    indexEdit = layer.open({
      type: 1,
      title: '修改文章分类',
      area: ['500px', '250px'],
      content: $('#dialog-edit').html()
    })

    // 根据当前数据条目的 Id 发起请求获取该条数据
    let id = $(this).attr('data-id')
    // console.log(id)
    $.ajax({
      method: 'GET',
      url: `/my/article/cates/${id}`,
      success: function (res) {
        if (res.status == 0) {
          form.val('form-edit', res.data)
        }
      }
    })
  })

  // 把formEdit把submit事件委托给 body
  $('body').on('submit', '#formEdit', function (e) {
    e.preventDefault()
    $.ajax({
      method: 'POST',
      url: '/my/article/updatecate',
      data: $(this).serialize(),
      success: function (res) {
        if (res.status !== 0) {
          return layer.msg('编辑文章类别失败！请重新编辑')
        }
        // 关闭弹出框
        layer.close(indexEdit)
        layer.msg('编辑成功! ')
        initArtCateList()
      }
    })
  })

  // 删除某条分类列别数据
  $('tbody').on('click', '.btn-delete', function() {
    var id = $(this).attr('data-id')
    // 提示用户是否要删除
    layer.confirm('确认删除?', { icon: 3, title: '提示' }, function(index) {
      $.ajax({
        method: 'GET',
        url: '/my/article/deletecate/' + id,
        success: function(res) {
          if (res.status !== 0) {
            return layer.msg('删除分类失败！')
          }
          layer.msg('删除分类成功！')
          layer.close(index)
          initArtCateList()
        }
      })
    })
})
})